package user_interface.dodaj_slowka.kontroler;

import user_interface.dodaj_slowka.model.Word;
import user_interface.dodaj_slowka.model.WordTableModel;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * Created with IntelliJ IDEA by:
 * User: dkucha
 * Date: 17.12.13
 */
public class PresenterDodajSlowko {
    private JTextField slowkoPolskieTF;
    private JTextField slowkoAngielskieTF;
    private JTable table;

    class SluchaczPrzyciskuZapisz implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            if (czyUzupelnionyFormularz()) {
                String slowoPolskie = slowkoPolskieTF.getText();
                String slowoAngielskie = slowkoAngielskieTF.getText();

                Word slowo = new Word(slowoPolskie, slowoAngielskie);

                WordTableModel wordTableModel = (WordTableModel) table.getModel();
                wordTableModel.dodajSlowo(slowo);

                czyscFormularz();
            } else {
                JOptionPane.showMessageDialog(
                        null,
                        "Nie podano wszystkich danych",
                        "Informacja",
                        JOptionPane.INFORMATION_MESSAGE);
            }
        }
    }

    class SluchaczPrzyciskuUsun implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            WordTableModel model = (WordTableModel) table.getModel();
            model.usunSlowo(table.getSelectedRow());
        }
    }

    private void czyscFormularz() {
        slowkoPolskieTF.setText("");
        slowkoAngielskieTF.setText("");
    }

    private boolean czyUzupelnionyFormularz() {
        if (slowkoPolskieTF.getText().isEmpty() ||
                slowkoAngielskieTF.getText().isEmpty()) {
            return false;
        } else {
            return true;
        }
    }

    public void setSlowkoAngielskieTF(JTextField slowkoAngielskieTF) {
        this.slowkoAngielskieTF = slowkoAngielskieTF;
    }

    public void setSlowkoPolskieTF(JTextField slowkoPolskieTF) {
        this.slowkoPolskieTF = slowkoPolskieTF;
    }

    public void setZapiszBT(JButton zapiszBT) {
        zapiszBT.addActionListener(new SluchaczPrzyciskuZapisz());
    }

    public void setUsunBT(JButton usunBT) {
        usunBT.addActionListener(new SluchaczPrzyciskuUsun());

    }

    public void setTable(JTable table) {
        this.table = table;
    }
}
